#include <iostream>
#include <cstdio>
#include <string>
#include <vector>
#include <queue>
#include <algorithm>

#define FOR(i,a,n) for(int i=a,_n(n);i<_n;++i)
#define REP(i,n) FOR(i,0,n)

using namespace std;

typedef long long lld;

char judge(lld n,lld k,lld pos)
{
    pos = n - pos + 1;
    char ans = 0;
   // printf("judge %lld %lld %lld\n",n,k,pos);
   if(k<=1)
   {
        if(k==0) ans = '.';
        else if(pos!=1) ans = '.';
        else ans = 'X';
   }
    else if((n&1)&&n/2>=k)
    {
        if(pos<=2) ans = 'X';
        else if(pos>(k-1)*2) ans = '.';
        else if(pos&1) ans = '.';
        else ans = 'X';
    }
    else
    {
        if(n/2>=k)
        {
            if(pos>=2*k) ans = '.';
            else if(pos&1) ans = 'X';
            else ans = '.';
        }
        else
        {
            lld rem = k-(n+1)/2;
            if(pos<=rem*2+1) ans='X';
            else if((pos&1)^(n&1)) ans = 'X';
            else ans = '.';
        }
    }
    return ans;
}
int main()
{
    lld n,k;
    int p;
    while(cin>>n>>k>>p)
    {
        string s;
        REP(i,p)
        {
            lld pos;
            cin>>pos;
            s+=(judge(n,k,pos));
        }
        cout<<s<<endl;
    }
	return 0;
}
